package com.sojson.util.sms;

import java.util.Date;
import java.util.Map;

import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.sojson.constant.Constant;

/**
 * 短信工具类接口
 * 
 * @author liu
 * @Date 2020-06-28 15:35:20
 * @Description
 *
 */
public interface SmsUtilInterface {

    /** 产品名称:云通信短信API产品,开发者无需替换 */
    String PRODUCT = Constant.PROPERTIES.getProperty("so.sms.product");
    /** 产品域名,开发者无需替换 */
    String DOMAIN = Constant.PROPERTIES.getProperty("so.sms.domain");

    /**
     * 发送短信接口
     * 
     * @param templateNameCode 阿里云短信模板代码
     * @param param 验证码，从SmsTemplate类获取
     * @param tel 发送到哪个手机号
     * @return
     * @throws Exception
     */
    SendSmsResponse sendSms(String templateNameCode, Map<String, String> param, String tel) throws Exception;

    /**
     * 查明细接口
     * 
     * @param tel
     * @param bizId 此ID从状态信息类SendSmsResponse获取
     * @param pageSum
     * @param pageSize
     * @param date
     * @return
     * @throws Exception
     */
    QuerySendDetailsResponse querySendDetails(String tel, String bizId, Long pageSum, Long pageSize, Date date)
        throws Exception;

}